/*********************课程资料管理版块模块结束******************/

function learnResMgrFn(node, event) {
	if (node.isLeaf()) {		//判断点击的是树的叶子节点
		event.stopEvent();
		
		//获取点击的菜单项的id
		var node_id = node.id;
		//获取被点击的菜单项的text
		var node_text = node.text;
		
		if (node_id == 'mgr_courseware') {			//管理教学课件
			
			//从TabPanel获取此id的对象，看看tab是否已经打开
			var tab = Ext.getCmp("center_part").getComponent(node_id);		         	
			
			if (!tab) {				//如果没有打开	
				
				//显示等待保存的提示信息
				Ext.MessageBox.show({
						title: '请等待',
						msg: '正在加载，请稍等...',
						progress: true,								        
						width: 260,
						wait:true,
						icon: 'mb_download_icon',
						animEl: 'saving',
						waitConfig: {
							interval: 200,  //interval进度的频率
							duration: 1000,	//执行进度的持续时间，超过这个时间后，interval失效，不再产生进度效果，但进度框也不会消失。
							fn: function(){	//时间到后执行
								Ext.MessageBox.hide();	//让进度条消失
							}
						}
				});
				
				/***定义带插件RowExpander的表格上的工具条的按钮的处理函数***/	
				
				//定义RowExpander显示格式的按钮的处理函数
				var styleButtonFn = function(btn){
					if (styleButton.getText() == '详细模式') {
						//展开分组表格的分组
						learnResGrid.getView().expandAllGroups();
						for (var i = 0; i < learnResGrid.getStore().getCount(); i++) {		
							styleButton.setText('简洁模式');
							styleButton.setIconClass("pithy_icon");
							expander.expandRow(i);
						}
					} else if (styleButton.getText() == '简洁模式') {
						//收缩分组表格的分组
						learnResGrid.getView().collapseAllGroups();
						for (var i = 0; i < learnResGrid.getStore().getCount(); i++) {		
							styleButton.setText('详细模式');
							styleButton.setIconClass("minute_icon");
							expander.collapseRow(i);
						}							
					}
				}				
				
				/******定义所有提问带ext插件RowExpander的表格*********/	
				
				//定义表格Record样式
				var learnResRecord = Ext.data.Record.create([
					{name: 'id', type: 'int', mapping: 'id'},
					{name: 'title', type: 'string', mapping: 'title'},
					{name: 'res_desc', type: 'string', mapping: 'res_desc'},
					{name: 'format', type: 'string', mapping: 'format'},
					{name: 'size', type: 'string', mapping: 'size'},
					{name: 'pub_user', type: 'string', mapping: 'pub_user'},
					{name: 'pub_time', type: 'date', mapping: 'pub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'see_count', type: 'int', mapping: 'see_count'},					
					{name: 'down_count', type: 'int', mapping: 'down_count'},
					{name: 'operate', type: 'string', mapping: 'operate'}
				]);
				
				//定义加号里面的内容显示格式
				var expander = new Ext.grid.RowExpander({
					tpl : new Ext.Template(
						'<p>&nbsp;</p>',
						'<p><b>课件描述：</b></p>',
						'<p>&nbsp;</p>',
						'<p>{res_desc}</p><br /><br />'
					)
				});
				
				//定义表格列样式
				var learnResColums = new Ext.grid.ColumnModel([
					//加上上面定义的expander
					expander,
				{
					id: 'id',
					header: '编号',
					dataIndex: 'id',
					type: 'int'
				},{
					id: 'title',
					header: '标题',
					dataIndex: 'title',
					type: 'string'
				},{
					id: 'format',
					header: '格式',
					dataIndex: 'format',
					type: 'string', 
					renderer: fileFormatRenderer
				},{
					id: 'size',
					header: '大小',
					dataIndex: 'size',
					type: 'string'
				},{
					id: 'pub_user',
					header: '发布人',
					dataIndex: 'pub_user',
					type: 'string'
				},{
					id: 'pub_time',
					header: '发布时间',
					dataIndex: 'pub_time',
					type: 'date',
					width: 160,
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'see_count',
					header: '浏览次数',
					dataIndex: 'see_count',
					type: 'int'
				},{
					id: 'down_count',
					header: '下载次数',
					dataIndex: 'down_count',
					type: 'int'
				},{
					id: 'operate',
					header: '在线浏览/下载',
					dataIndex: 'operate',
					type: 'string'
				}]);
				learnResColums.defaultSortable = false;
				
				//定义Stroe(使用的是GroupingStore产生分组表格，按是否问题已经解决分组)
				var learnResStore = new Ext.data.GroupingStore({
					proxy: new Ext.data.HttpProxy({url:'learn_res_mgr.do?cmd=show&flag=courseware'}),
					reader: new Ext.data.JsonReader({
						totalProperty: 'totalProperty',
						root: 'root'
					}, learnResRecord),
					//分组的列
					groupField: 'format',
					//分组必须设置的，排序的列
					sortInfo: {field: 'id', direction: 'desc'}
				});
				learnResStore.load({params:{start: 0, limit: 10}});	
				
				//定义表格顶端工具栏	
				//显示风格选择按钮
				var styleButton = new Ext.Button({
					text: '详细模式',
					tooltip: '切换显示模式',
					iconCls:'minute_icon',
					handler: styleButtonFn
				});	
				var flashButton = new Ext.Button({
					text: '刷新',
					tooltip: '刷新本页内容',
					iconCls:'flush_icon',
					handler: function() {
				    	learnResGrid.getStore().reload();
				    }
				});
				var topToolbar = new Ext.Toolbar({
					items: [styleButton, '-', flashButton]
				});
				
				//定义表格
				var learnResGrid = new Ext.grid.GridPanel({
					loadMask: true,
					//使得表格强制fit父容器
					viewConfig: {
						forceFit: true
					},
					store: learnResStore,
					cm: learnResColums,
					sm: new Ext.grid.RowSelectionModel(),
					//设置分组View
					view: new Ext.grid.GroupingView({
						forceFit:true,
				        //显示这个分组有多少项
				        groupTextTpl: '{text} ({[values.rs.length]} {["条记录"]})'
					}),
					//添加顶端的工具栏
					tbar: topToolbar,
					//添加底部分页条（bbar-->bottom bar）
					bbar: new Ext.PagingToolbar({
						pageSize: 10,
						store: learnResStore,
						displayInfo: true,
						displayMsg: '显示第 {0} --> {1} 条记录，共 {2} 条记录',
						emptyMsg: "没有记录"
					}),
					//扩展插件
					plugins: expander,
					collapsible: true,
					animCollapse: false
				});
				
				/*****定义显示课件信息的带ext插件RowExpander的表格结束*******/
				/*****************添加此表格到TabPanel*****************/
				tab = Ext.getCmp("center_part").add({
					//使用点击菜单的id，这样方便事件处理
					id: node_id,
					//标题为被点击的菜单项的text
					title: node_text,
					closable:true,
					iconCls: 'nor_icon',
					autoScroll:true,
					layout: 'fit',
					items: [learnResGrid]
				});		  
				/***************添加此表格到TabPanel结束***************/
				
			}
			
			//设置此新增Tab为活动的Tab
			Ext.getCmp("center_part").setActiveTab(tab);
			
		} else if (node_id == 'mgr_experiment_courseware') {  	//管理实验课件
			
			//从TabPanel获取此id的对象，看看tab是否已经打开
			var tab = Ext.getCmp("center_part").getComponent(node_id);		         	
			
			if (!tab) {				//如果没有打开	
				
				//显示等待保存的提示信息
				Ext.MessageBox.show({
						title: '请等待',
						msg: '正在加载，请稍等...',
						progress: true,								        
						width: 260,
						wait:true,
						icon: 'mb_download_icon',
						animEl: 'saving',
						waitConfig: {
							interval: 200,  //interval进度的频率
							duration: 1000,	//执行进度的持续时间，超过这个时间后，interval失效，不再产生进度效果，但进度框也不会消失。
							fn: function(){	//时间到后执行
								Ext.MessageBox.hide();	//让进度条消失
							}
						}
				});
				
				/***定义带插件RowExpander的表格上的工具条的按钮的处理函数***/	
				
				//定义RowExpander显示格式的按钮的处理函数
				var styleButtonFn = function(btn){
					if (styleButton.getText() == '详细模式') {
						//展开分组表格的分组
						learnTestResGrid.getView().expandAllGroups();
						for (var i = 0; i < learnTestResGrid.getStore().getCount(); i++) {		
							styleButton.setText('简洁模式');
							styleButton.setIconClass("pithy_icon");
							expander.expandRow(i);
						}
					} else if (styleButton.getText() == '简洁模式') {
						//收缩分组表格的分组
						learnTestResGrid.getView().collapseAllGroups();
						for (var i = 0; i < learnTestResGrid.getStore().getCount(); i++) {		
							styleButton.setText('详细模式');
							styleButton.setIconClass("minute_icon");
							expander.collapseRow(i);
						}							
					}
				}
				
				/******定义所有提问带ext插件RowExpander的表格*********/	
				
				//定义表格Record样式
				var learnTestResRecord = Ext.data.Record.create([
					{name: 'id', type: 'int', mapping: 'id'},
					{name: 'title', type: 'string', mapping: 'title'},
					{name: 'res_desc', type: 'string', mapping: 'res_desc'},
					{name: 'format', type: 'string', mapping: 'format'},
					{name: 'size', type: 'string', mapping: 'size'},
					{name: 'pub_user', type: 'string', mapping: 'pub_user'},
					{name: 'pub_time', type: 'date', mapping: 'pub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'see_count', type: 'int', mapping: 'see_count'},					
					{name: 'down_count', type: 'int', mapping: 'down_count'},
					{name: 'operate', type: 'string', mapping: 'operate'}
				]);
				
				//定义加号里面的内容显示格式
				var expander = new Ext.grid.RowExpander({
					tpl : new Ext.Template(
						'<p>&nbsp;</p>',
						'<p><b>课件描述：</b></p>',
						'<p>&nbsp;</p>',
						'<p>{res_desc}</p><br /><br />'
					)
				});
				
				//定义表格列样式
				var learnTestResColums = new Ext.grid.ColumnModel([
					//加上上面定义的expander
					expander,
				{
					id: 'id',
					header: '编号',
					dataIndex: 'id',
					type: 'int'
				},{
					id: 'title',
					header: '标题',
					dataIndex: 'title',
					type: 'string'
				},{
					id: 'format',
					header: '格式',
					dataIndex: 'format',
					type: 'string', 
					renderer: fileFormatRenderer
				},{
					id: 'size',
					header: '大小',
					dataIndex: 'size',
					type: 'string'
				},{
					id: 'pub_user',
					header: '发布人',
					dataIndex: 'pub_user',
					type: 'string'
				},{
					id: 'pub_time',
					header: '发布时间',
					dataIndex: 'pub_time',
					type: 'date',
					width: 160,
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'see_count',
					header: '浏览次数',
					dataIndex: 'see_count',
					type: 'int'
				},{
					id: 'down_count',
					header: '下载次数',
					dataIndex: 'down_count',
					type: 'int'
				},{
					id: 'operate',
					header: '在线浏览/下载',
					dataIndex: 'operate',
					type: 'string'
				}]);
				learnTestResColums.defaultSortable = false;
				
				//定义Stroe(使用的是GroupingStore产生分组表格，按是否问题已经解决分组)
				var learnTestResStore = new Ext.data.GroupingStore({
					proxy: new Ext.data.HttpProxy({url:'learn_res_mgr.do?cmd=show&flag=experiment'}),
					reader: new Ext.data.JsonReader({
						totalProperty: 'totalProperty',
						root: 'root'
					}, learnTestResRecord),
					//分组的列
					groupField: 'format',
					//分组必须设置的，排序的列
					sortInfo: {field: 'id', direction: 'desc'}
				});
				learnTestResStore.load({params:{start: 0, limit: 10}});	
				
				//定义表格顶端工具栏	
				//显示风格选择按钮
				var styleButton = new Ext.Button({
					text: '详细模式',
					tooltip: '切换显示模式',
					iconCls:'minute_icon',
					handler: styleButtonFn
				});					
				var flashButton = new Ext.Button({
					text: '刷新',
					tooltip: '刷新本页内容',
					iconCls:'flush_icon',
					handler: function() {
				    	learnTestResGrid.getStore().reload();
				    }
				});
				var topToolbar = new Ext.Toolbar({
					items: [styleButton, '-', flashButton]
				});
				
				//定义表格
				var learnTestResGrid = new Ext.grid.GridPanel({
					loadMask: true,
					//使得表格强制fit父容器
					viewConfig: {
						forceFit: true
					},
					store: learnTestResStore,
					cm: learnTestResColums,
					sm: new Ext.grid.RowSelectionModel(),
					//设置分组View
					view: new Ext.grid.GroupingView({
						forceFit:true,
				        //显示这个分组有多少项
				        groupTextTpl: '{text} ({[values.rs.length]} {["条记录"]})'
					}),
					//添加顶端的工具栏
					tbar: topToolbar,
					//添加底部分页条（bbar-->bottom bar）
					bbar: new Ext.PagingToolbar({
						pageSize: 10,
						store: learnTestResStore,
						displayInfo: true,
						displayMsg: '显示第 {0} --> {1} 条记录，共 {2} 条记录',
						emptyMsg: "没有记录"
					}),
					//扩展插件
					plugins: expander,
					collapsible: true,
					animCollapse: false
				});
				
				/*****定义显示课件信息的带ext插件RowExpander的表格结束*******/
				/*****************添加此表格到TabPanel*****************/
				tab = Ext.getCmp("center_part").add({
					//使用点击菜单的id，这样方便事件处理
					id: node_id,
					//标题为被点击的菜单项的text
					title: node_text,
					closable:true,
					iconCls: 'nor_icon',
					autoScroll:true,
					layout: 'fit',
					items: [learnTestResGrid]
				});		  
				/***************添加此表格到TabPanel结束***************/
				
			}
			
			//设置此新增Tab为活动的Tab
			Ext.getCmp("center_part").setActiveTab(tab);			
		}
		
	} 
};

/*********************课程资料管理版块模块结束******************/